1
Do Namespacing aos Sistemas de Módulos Robustos
AI020Lesson 6
00:00

Na fase inicial do desenvolvimento em JavaScript, Poluição de Namespace era um obstáculo significativo. Quando códigos não relacionados compartilham um único conjunto de nomes de variáveis globais, colisões imprevisíveis ocorrem. O design moderno evoluiu de uma atitude sem estrutura para Sistemas de Módulos Isolados.

1. Isolamento Funcional (IIFE)

Ao envolver o código em um Expressão de Função Imediatamente Invocada (IIFE), criamos um escopo privado. Variáveis como nomes ficam presas dentro da função, inacessíveis ao ambiente global.

(function() {
var interno = "segredo";
console.log(interno);
})();

2. Interfaces Baseadas em Objetos

Para fornecer funcionalidade ao mundo exterior, um módulo retorna um objeto que atua como seu interface pública. Isso agrupa métodos relacionados (como nome e número) sob uma única variável global reivindicada.

Escopo Privado[array de nomes]Interfacenome(), número()

3. O Padrão de Exportações

Uma variação sofisticada envolve passar um exports objeto para a IIFE. Isso permite que o módulo vincule sua API diretamente a um destino específico de namespace, proporcionando flexibilidade na forma como o módulo é consumido.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>